home *** CD-ROM | disk | FTP | other *** search
- package org.apache.xalan.xpath;
-
- import java.lang.reflect.Constructor;
- import java.net.URL;
- import java.util.ResourceBundle;
- import org.apache.xalan.xpath.res.XPATHErrorResources;
- import org.apache.xalan.xpath.xml.PrefixResolver;
- import org.apache.xalan.xpath.xml.ProblemListenerDefault;
- import org.apache.xalan.xpath.xml.XSLMessages;
- import org.w3c.dom.Document;
- import org.w3c.dom.Node;
- import org.w3c.dom.NodeList;
- import org.xml.sax.DocumentHandler;
- import org.xml.sax.SAXException;
-
- public class Process {
- protected static void printArgOptions(XPATHErrorResources var0) {
- System.out.println(((ResourceBundle)var0).getString("xpath_option"));
- System.out.println(((ResourceBundle)var0).getString("optionIN"));
- System.out.println(((ResourceBundle)var0).getString("optionSelect"));
- System.out.println(((ResourceBundle)var0).getString("optionMatch"));
- System.out.println(((ResourceBundle)var0).getString("optionAnyExpr"));
- }
-
- public static void main(String[] var0) throws SAXException {
- XPATHErrorResources var1 = (XPATHErrorResources)XSLMessages.loadResourceBundle("org.apache.xalan.xpath.res.XPATHErrorResources");
- if (var0.length > 1) {
- Object var2 = null;
- String var3 = "org.apache.xalan.xpath.xdom.XercesLiaison";
-
- try {
- Class var4 = Class.forName(var3);
- Constructor var5 = var4.getConstructor((Class[])null);
- var20 = (XPathSupport)var5.newInstance((Object[])null);
- } catch (Exception var19) {
- System.err.println(XSLMessages.createXPATHMessage(39, new Object[]{var3}));
- return;
- }
-
- XPathProcessorImpl var21 = new XPathProcessorImpl(var20);
- XPath var22 = new XPath(new ProblemListenerDefault());
- String var6 = null;
- String var7 = null;
- String var8 = null;
-
- for(int var9 = 0; var9 < var0.length; ++var9) {
- if ("-in".equalsIgnoreCase(var0[var9])) {
- ++var9;
- var6 = var0[var9];
- } else if ("-select".equalsIgnoreCase(var0[var9])) {
- ++var9;
- var7 = var0[var9];
- } else if ("-match".equalsIgnoreCase(var0[var9])) {
- ++var9;
- var8 = var0[var9];
- }
- }
-
- if (var7 == null) {
- System.out.println(XSLMessages.createXPATHMessage(40, (Object[])null));
- } else {
- Document var10;
- if (var6 != null) {
- System.out.println("Parsing XML...");
- URL var11 = var20.getURLFromString(var6, (String)null);
- var10 = var20.parseXML(var11, (DocumentHandler)null, (Document)null);
- } else {
- var10 = var20.getDOMFactory();
- }
-
- var21.initXPath(var22, var7, (PrefixResolver)null);
- XPath var23 = null;
- if (var8 != null) {
- var23 = new XPath(new ProblemListenerDefault());
- var21.initMatchPattern(var23, var8, (PrefixResolver)null);
- }
-
- XObject var12 = var22.execute(var20, var10, (PrefixResolver)null);
- if (var12.getType() == 4) {
- System.out.println("<results>");
- NodeList var13 = var12.nodeset();
- int var14 = var13.getLength();
-
- for(int var15 = 0; var15 < var14; ++var15) {
- Node var16 = var13.item(var15);
- System.out.print(" <node name='" + var16.getNodeName() + "'");
- if (var23 != null) {
- System.out.print(" match-value='" + var23.getMatchScore(var20, var16) + "'");
- }
-
- if (var16.getNodeType() != 2) {
- Document var17 = var16.getNodeType() == 9 ? (Document)var16 : var16.getOwnerDocument();
- String var18 = var20.findURIFromDoc(var17);
- System.out.print(" doc-ref='" + var18 + "'");
- }
-
- System.out.println("/>");
- }
-
- System.out.println("</results>");
- } else {
- System.out.println("XPath Result: \n" + var12.str());
- }
- }
- } else if (var0.length == 1) {
- XPathProcessorImpl.diagnoseXPathString(var0[0]);
- } else {
- printArgOptions(var1);
- }
- }
- }
-